package com.cherrish.demo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/**
 * @author cherrish
 * @time 2019-04-03 14:30
 * @name FileUtils
 * @desc:
 */
public class FileUtils {
    public static void main(String[] args) {
        readFileByLines("D:\\workspace\\test\\001\\do-demo\\demo-test\\demo1.txt");
    }
    public static void readFileByLines(String fileName) {
        File file = new File(fileName);
        BufferedReader reader = null;
        try {
            System.out.println("以行为单位读取文件内容，一次读一整行：");
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            String tabname = "";
            String colname = "";
            // 一次读入一行，直到读入null为文件结
            while ((tempString = reader.readLine()) != null) {
                tempString = tempString.trim();
                if(tempString.startsWith("type") && tempString.endsWith("struct {")){
                    tabname = tempString.replace("type ", "").replace("struct {", "");
                }else {
                    if(!tempString.contains("}") && ! tempString.contains("//")){
                        colname = tempString.trim();
                        System.out.println(tabname +","+ colname);
                    }
                }
                // 显示行号
                //System.out.println("line " + line + ": " + tempString);
                line++;
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
    }
}
